Nuprl Definition : ecl_ind
0,22
ecl_ind(
x
;
k
,
test
.
base
(
k
ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
(
a
ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
b
ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec1
ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
(
a
ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
b
ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec1
ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
(
a
ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
b
ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec1
ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
(
a
ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
(
a
ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
n
ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
(
a
ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
n
ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
(
a
ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
;
l
ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
;
rec1
))
== Case
x
of
==
inl(
x
)
base
(1of(
x
);2of(
x
))
==
inr(
x
)
==
Case
x
of
==
inl(
x
)
==
seq
(1of(
x
)
==
seq
;2of(
x
)
==
seq
;ecl_ind(1of(
==
seq
;ecl_ind(
x
);
k
,
test
.
base
(
k
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
(
a
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
b
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec1
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
(
a
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
b
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec1
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
(
a
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
b
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec1
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
(
a
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
(
a
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
n
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
(
a
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
n
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
(
a
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
;
l
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
;
rec1
))
==
seq
;ecl_ind(2of(
==
seq
;ecl_ind(
x
);
k
,
test
.
base
(
k
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
(
a
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
b
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec1
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
(
a
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
b
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec1
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
(
a
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
b
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec1
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
(
a
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
(
a
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
n
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
(
a
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
n
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
(
a
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
;
l
==
seq
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
;
rec1
)))
==
inr(
x
)
==
Case
x
of
==
inl(
x
)
==
and
(1of(
x
)
==
and
;2of(
x
)
==
and
;ecl_ind(1of(
==
and
;ecl_ind(
x
);
k
,
test
.
base
(
k
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
(
a
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
b
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec1
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
(
a
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
b
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec1
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
(
a
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
b
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec1
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
(
a
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
(
a
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
n
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
(
a
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
n
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
(
a
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
;
l
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
;
rec1
))
==
and
;ecl_ind(2of(
==
and
;ecl_ind(
x
);
k
,
test
.
base
(
k
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
(
a
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
b
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec1
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
(
a
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
b
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec1
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
(
a
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
b
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec1
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
(
a
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
(
a
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
n
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
(
a
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
n
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
(
a
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
;
l
==
and
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
;
rec1
)))
==
inr(
x
)
==
Case
x
of
==
inl(
x
)
==
or
(1of(
x
)
==
or
;2of(
x
)
==
or
;ecl_ind(1of(
==
or
;ecl_ind(
x
);
k
,
test
.
base
(
k
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
(
a
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
b
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec1
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
(
a
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
b
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec1
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
(
a
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
b
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec1
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
(
a
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
(
a
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
n
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
(
a
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
n
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
(
a
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
;
l
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
;
rec1
))
==
or
;ecl_ind(2of(
==
or
;ecl_ind(
x
);
k
,
test
.
base
(
k
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
(
a
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
b
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec1
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
(
a
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
b
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec1
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
(
a
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
b
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec1
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
(
a
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
(
a
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
n
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
(
a
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
n
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
(
a
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
;
l
==
or
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
;
rec1
)))
==
inr(
x
)
==
Case
x
of
==
inl(
x
)
==
repeat
(
x
==
repeat
;ecl_ind(
x
;
k
,
test
.
base
(
k
==
repeat
;ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
(
a
==
repeat
;ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
b
==
repeat
;ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec1
==
repeat
;ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
(
a
==
repeat
;ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
b
==
repeat
;ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec1
==
repeat
;ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
(
a
==
repeat
;ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
b
==
repeat
;ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec1
==
repeat
;ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
(
a
==
repeat
;ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
(
a
==
repeat
;ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
n
==
repeat
;ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
(
a
==
repeat
;ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
n
==
repeat
;ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
(
a
==
repeat
;ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
;
l
==
repeat
;ecl_ind(
x
;
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
;
rec1
)))
==
inr(
x
)
==
Case
x
of
==
inl(
x
)
==
act
(1of(
x
)
==
act
;2of(
x
)
==
act
;ecl_ind(1of(
==
act
;ecl_ind(
x
);
k
,
test
.
base
(
k
==
act
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
(
a
==
act
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
b
==
act
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec1
==
act
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
(
a
==
act
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
b
==
act
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec1
==
act
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
(
a
==
act
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
b
==
act
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec1
==
act
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
(
a
==
act
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
(
a
==
act
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
n
==
act
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
(
a
==
act
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
n
==
act
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
(
a
==
act
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
;
l
==
act
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
;
rec1
)))
==
inr(
x
)
==
Case
x
of
==
inl(
x
)
==
throw
(1of(
x
)
==
throw
;2of(
x
)
==
throw
;ecl_ind(1of(
==
throw
;ecl_ind(
x
);
k
,
test
.
base
(
k
==
throw
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
(
a
==
throw
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
b
==
throw
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec1
==
throw
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
(
a
==
throw
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
b
==
throw
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec1
==
throw
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
(
a
==
throw
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
b
==
throw
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec1
==
throw
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
(
a
==
throw
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
(
a
==
throw
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
n
==
throw
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
(
a
==
throw
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
n
==
throw
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
(
a
==
throw
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
;
l
==
throw
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
;
rec1
)))
==
inr(
x
)
==
catch
(1of(
x
)
==
catch
;2of(
x
)
==
catch
;ecl_ind(1of(
==
catch
;ecl_ind(
x
);
k
,
test
.
base
(
k
==
catch
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
(
a
==
catch
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
b
==
catch
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec1
==
catch
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
(
a
==
catch
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
b
==
catch
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec1
==
catch
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
(
a
==
catch
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
b
==
catch
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec1
==
catch
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
(
a
==
catch
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
(
a
==
catch
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
n
==
catch
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
(
a
==
catch
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
n
==
catch
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
(
a
==
catch
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
;
l
==
catch
;ecl_ind(
x
);
k
,
test
.
base
;
test
);
a
,
b
,
rec1
,
rec2
.
seq
;
rec2
);
a
,
b
,
rec1
,
rec2
.
and
;
rec2
);
a
,
b
,
rec1
,
rec2
.
or
;
rec2
);
a
,
rec1
.
repeat
;
rec1
);
a
,
n
,
rec1
.
act
;
rec1
);
a
,
n
,
rec1
.
throw
;
rec1
);
a
,
l
,
rec1
.
catch
;
rec1
)))
(recursive)
latex
Definitions
Y
,
x
.
A
(
x
)
,
Case
b
of inl(
x
)
s
(
x
) ; inr(
y
)
t
(
y
)
,
2of(
t
)
,
f
(
a
)
,
1of(
t
)
FDL editor aliases
ecl_ind, ecl_ind
origin